
// 根据一棵树前序、中序、后序遍历结果创建一棵树

class Node {
    constructor( item , left = null , right = null ) {
        // item 用来存储当前节点的数据
        this.item = item ;
        // left 用来存储左子树
        this.left = left ;
        // right 用来存储右子树
        this.right = right ;
    }
}

// 比如:
// 中序遍历结果是 123
function inorder( node ){
    let output = [];
    let traverse = function( node ) {
        if( node ) {
            traverse( node.left );
            output.push( node.item );
            traverse( node.right );
        }
    }
    traverse( root );
    return output.toString();
}

/**
 * 根据某棵二叉树中序遍历的结果重新构建一颗二叉树
 * @param {string} charSequence 表示某颗二叉树中序遍历的结果
 * @returns 返回重新构建的二叉树的根节点
 */
function produceByInorder( charSequence ) {
    // 定义一个变量用来保存根节点
    let root = null ;



    // 返回二叉树的根节点
    return root ;
}

let root = produceByInorder( '123' );